﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using MJM.RPP.EntidadesNegocio;
using MJM.CBD.Conn;

namespace MJM.RPP.AccesoDatos
{
    public class DocumentosAD
    {
        public List<DocumentosEN> Listar(int IDArea,String Fecha1,String Fecha2)
        {
            List<DocumentosEN> lst = new List<DocumentosEN>();
             SqlConnection conn=new SqlConnection(Cadena.CadenaTramite());
            SqlCommand cmd = new SqlCommand("sp_s_M_MAES_DOCU_Seguimiento_DOCUOFI_V2", conn);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlParameter prmFecha1,prmFecha2,prmIDArea;
            SqlDataReader dr;
            DocumentosEN objDocumentosEN;
            int cont = 1;
            try
            {
                prmIDArea = new SqlParameter();
                prmIDArea.ParameterName = "@vOFIC_P_inCODOFI";
                prmIDArea.SqlDbType = SqlDbType.Int;
                prmIDArea.Value = IDArea;
                cmd.Parameters.Add(prmIDArea);

                prmFecha1 = new SqlParameter();
                prmFecha1.ParameterName = "@vDOCU_chFECDOCA";
                prmFecha1.SqlDbType = SqlDbType.VarChar;
                prmFecha1.Value = Fecha1;
                cmd.Parameters.Add(prmFecha1);

                prmFecha2 = new SqlParameter();
                prmFecha2.ParameterName = "@vDOCU_chFECDOCB";
                prmFecha2.SqlDbType = SqlDbType.VarChar;
                prmFecha2.Value = Fecha2;
                cmd.Parameters.Add(prmFecha2);
                cmd.Connection.Open();
                dr = cmd.ExecuteReader();

                while (dr.Read())
                {                  
                    objDocumentosEN = new DocumentosEN();
                    objDocumentosEN.Pos = cont;
                    try
                    {
                        objDocumentosEN.IdDocumentos = dr.GetInt32(0);
                    }
                    catch
                    {
                        objDocumentosEN.IdDocumentos = 0;
                    }

                    try
                    {
                        objDocumentosEN.IdDocuRespuesta=dr.GetInt32(13);
                    }
                    catch
                    {
                        objDocumentosEN.IdDocuRespuesta =0;
                        
                    }

                    try
                    {
                        objDocumentosEN.Asunto = dr.GetString(8);
                    }
                    catch
                    {
                        objDocumentosEN.Asunto = "";                        
                    }
                    try
                    {
                        objDocumentosEN.AsuntoDoc = dr.GetString(18);
                    }
                    catch
                    {
                        objDocumentosEN.AsuntoDoc = "";
                    }
                    try
                    {
                        objDocumentosEN.Derivado = dr.GetString(11);
                    }
                    catch
                    {
                        objDocumentosEN.Derivado = "";
                    }
                    objDocumentosEN.FecDoc = dr.GetString(6);
                    objDocumentosEN.FechaCreacion = dr.GetString(12);
                    try
                    {
                        objDocumentosEN.FechaDoc = dr.GetString(17);
                    }
                    catch
                    {
                        objDocumentosEN.FechaDoc = "";
                    }
                    try
                    {
                        objDocumentosEN.RespNro = dr.GetString(15) + " " + dr.GetString(16) + " " + dr.GetString(14);
                    }
                    catch
                    {
                        objDocumentosEN.RespNro = "";
                    }
                    try
                    {
                        objDocumentosEN.Tarea = dr.GetString(19);
                    }
                    catch
                    {
                        objDocumentosEN.Tarea = "";
                    }
                    try
                    {
                        objDocumentosEN.TipAnoNro = dr.GetString(2) + "/" + dr.GetString(4) + "-" + dr.GetString(3);
                    }
                    catch
                    {
                        objDocumentosEN.TipAnoNro = "";
                    }
                    lst.Add(objDocumentosEN);
                    cont++;
                }

                cmd.Connection.Close();
                conn.Dispose();
                cmd.Dispose();
            }
            catch(Exception ex)
            {
                conn.Dispose();
                cmd.Dispose();

            }

            return lst;
        }


    }
}
